The ASP.NET page framework includes a number of built-in server controls that are designed to provide a more structured programming model for the Web. These controls provide the following features:
- Automatic state management.
- Simple access to object values without having to use the Request object.
- Ability to react to events in server-side code to create applications that are better structured.
- Common approach to building user interfaces for Web pages.
- Output is automatically customized based on the capabilities of the browser.
In addition to the built-in controls, the ASP.NET page framework also provides the ability to create user controls. User controls can enhance and extend existing controls to build a much richer user interface. More about User Controls below.
Följande exempel visar serverkontrollen button i htmlkod. Knappen har id "Button1". När den klickas körs onclick händelsen, metoden Button1_Click. Texten på knappen är "Button".
Html
<asp:button id="Button1" onclick="Button1_Click" runat="server" Text="Button"></asp:button>
Detta exempel ändrar knappens text i bakomliggande kod:
C#Button1.Text = "My button";
Button1.Text = "My button"
Server kontroller kan enkelt läggas till med dra-och-släpp teknik i Content Studio. Alla serverkontroller i ASP.NET kan användas med Content Studio, dessa åtkomliga via menyn Visa -> Standard verktygslåda. Inställningar på kontrollen görs genom att dubbelklicka eller högerklicka och välja egenskaper.
Som standard visas vilka egenskaper som är tillgängliga för kontrollen. Tillgängliga händelser visas med ett knapptryck på blixt-ikonen uppe till vänster i dialogen. Alla kontroller har i regel en standardhändelse. Denna standardhändelse implementeras genom att högerklicka på kontrollen och välj "skapa standardhändelse". I exemplet med knappen skapas metoden Button1_OnClick upp i bakomliggande kod.
User Controls
In addition to using Web server controls in your ASP.NET Web pages, you can create your own custom, reusable controls using the same techniques you use for creating ASP.NET Web pages. These controls are called user controls. A user control is a kind of composite control that works much like an ASP.NET Web page—you can add existing Web server controls and markup to a user control, and define properties and methods for the control. You can then embed them in ASP.NET Web pages, where they act as a unit.
In Content Studio, just create a new document of type html without metadata and set file extension to .ascx (in menu: File -> Document settings). För att använda user controllen på en htmlsida måste den registreras på sidan med ett registerdirektiv detta kan göras manuellt men det lättaste är att bara ta tag i dokumentet i dokumentlistan och dra in den på sidan. Då lägger Content Studio automatiskt upp direktivet på sidan (dokumentdirektiv koms åt via File -> Document settings -> Page directives).
Inställningar
Egna inställningar i user controls styrs via properties. En property som deklarareras som public kommer automatiskt att dyka upp i egenskapsdialogen. Förutom publika properties har man även åtkomst till publika metoder i kodläge. Med hjälp av attribute styrs olika beteenden på kontrollen. Det är exempelvis möjligt att ange en beskrivning för en property, ange ett standardvärde och ange under vilken kategori den ska visas upp.
Följande exempel deklarerar en property Text av typen sträng. Tre attribut är angiva på propertyn. Dessa säger följande: standardvärdet är "MyText", propertyn hamnar under kategorin "Settings" i egenskapsdialogen och slutligen beskrivningen på propertien.
C#private string _Text = "MyText";
[DefaultValue("MyText"), Category("Settings"), Description("Text value of the control.")]
public string Text
{
get { return _Text; }
set { _Text = value; }
}
Private _Text As String = "MyText"
<DefaultValue("MyText"), Category("Settings"), Description("Text value of the control.")> _
Public Property Text() As String
Get
Return _Text
End Get
Set(ByVal Value As String)
_Text = Value
End Set
End Property
Content Studio stödjer de flesta attribut. Här är några av de vanligaste:
Name | Applies to | Description |
---|---|---|
DefaultValue | Property |
Default value in properties dialog. Example: DefaultValue("5") |
Category | Property |
Category property belongs to. Example: Category("Behavior") |
Description | Property |
Property description in properties dialog. Example: Description("Title of the control") |
DefaultProperty | Class |
Property that is selected when properties dialog opens. Set this attribute on class. DefaultProperty("Title") |
DefaultEvent | Class |
Default event. Set this attribute on class. Example: DefaultEvent("Click") |
Browsable | Property |
Wheather the property is visible in the properties dialog. Observe that the property
is always accessible in code. Example: Browsable(false) |
Designer | Class |
Class that is used to render design time html. Set this attribute on class. Example: Designer(typeof(MyOwnDesigner)) Example of designer class: public class DocumentListDesigner : ControlDesigner { public override string GetDesignTimeHtml() { return "<h3>My control</h3>"; } } |
TypeConverter | Property |
Class to use for converting value set in properties dialog into other type. The
StringArrayConverter converts a comma separated string into a string array. Example: TypeConverter(typeof(StringArrayConverter)) |
The attributes resides in namespace System.ComponentModel.